package co.edu.usbcali.sap.modelo.dto;

import co.edu.usbcali.sap.modelo.DocumentosProyecto;
import co.edu.usbcali.sap.presentation.backEndBeans.DocumentosProyectoView;

import java.io.File;
import java.io.FileOutputStream;
import java.io.Serializable;
 
import java.util.Date;

import javax.faces.event.ActionEvent;

/**
 * 
 * 
 * @author Zathura Code Generator http://code.google.com/p/zathura
 * 
 */
public class DocumentosProyectoDTO implements Serializable {
	private static final long serialVersionUID = 1L;
	private String docproArchivo;
	private String docproFormato;
	private String proCodigo_Proyecto;
	private String tipdocCodigo_TipoDocumento;
	private String docproCodigo;
	private boolean rowSelected = false;
	private DocumentosProyectoView documentosProyectoView;
	private DocumentosProyecto documentosProyecto;

	public DocumentosProyecto getDocumentosProyecto() {
		return documentosProyecto;
	}

	public String listener_update(ActionEvent e) {
		try {
			documentosProyectoView
					.action_modifyWitDTO(
							((docproArchivo == null) || docproArchivo
									.equals("")) ? null : new Long(
									docproArchivo),
							((docproCodigo == null) || docproCodigo.equals("")) ? null
									: new Integer(docproCodigo),
							((docproFormato == null) || docproFormato
									.equals("")) ? null : new String(
									docproFormato),
							((proCodigo_Proyecto == null) || proCodigo_Proyecto
									.equals("")) ? null : new Integer(
									proCodigo_Proyecto),
							((tipdocCodigo_TipoDocumento == null) || tipdocCodigo_TipoDocumento
									.equals("")) ? null : new Integer(
									tipdocCodigo_TipoDocumento));
			rowSelected = !rowSelected;
		} catch (Exception ex) {
			return "";
		}

		return "";
	}
	
	public String action_down() {
		try {
			File f = new File(
					"C:\\Users\\usuario\\Documents\\Mis archivos recibidos\\"
							+ "Caso2."+ documentosProyecto.getDocproFormato());
			f.createNewFile();			
			FileOutputStream fileInputStream2 = new FileOutputStream(f);
			fileInputStream2.write(documentosProyecto.getDocproArchivo());
			fileInputStream2.close();
			
			
		} catch (Exception exception) {

		}
		return "";
	}

	public void listener_cancel(ActionEvent e) {
		docproCodigo = documentosProyecto.getDocproCodigo().toString();
		docproArchivo = (documentosProyecto.getDocproArchivo() != null) ? documentosProyecto
				.getDocproArchivo().toString()
				: null;
		docproFormato = (documentosProyecto.getDocproFormato() != null) ? documentosProyecto
				.getDocproFormato().toString()
				: null;
		proCodigo_Proyecto = (documentosProyecto.getProyecto().getProCodigo() != null) ? documentosProyecto
				.getProyecto().getProCodigo().toString()
				: null;
		tipdocCodigo_TipoDocumento = (documentosProyecto.getTipoDocumento()
				.getTipdocCodigo() != null) ? documentosProyecto
				.getTipoDocumento().getTipdocCodigo().toString() : null;
		rowSelected = !rowSelected;
	}

	/**
	 * <p>
	 * Bound to commandLink actionListener in the ui that renders/unrenders the
	 * Customer details for editing.
	 * </p>
	 */
	public void toggleSelected(ActionEvent e) {
		docproCodigo = documentosProyecto.getDocproCodigo().toString();
		docproArchivo = (documentosProyecto.getDocproArchivo() != null) ? documentosProyecto
				.getDocproArchivo().toString()
				: null;
		docproFormato = (documentosProyecto.getDocproFormato() != null) ? documentosProyecto
				.getDocproFormato().toString()
				: null;
		proCodigo_Proyecto = (documentosProyecto.getProyecto().getProCodigo() != null) ? documentosProyecto
				.getProyecto().getProCodigo().toString()
				: null;
		/*
		 * tipdocCodigo_TipoDocumento = (documentosProyecto.getTipoDocumento()
		 * .getTipdocCodigo() != null) ?
		 * documentosProyecto.getTipoDocumento().getTipdocCodigo().toString() :
		 * null;
		 */
		rowSelected = !rowSelected;
	}

	public void setDocumentosProyecto(DocumentosProyecto documentosProyecto) {
		this.documentosProyecto = documentosProyecto;
	}

	public DocumentosProyectoView getDocumentosProyectoView() {
		return documentosProyectoView;
	}

	public void setDocumentosProyectoView(
			DocumentosProyectoView documentosProyectoView) {
		this.documentosProyectoView = documentosProyectoView;
	}

	public String getDocproArchivo() {
		return docproArchivo;
	}

	public void setDocproArchivo(String docproArchivo) {
		this.docproArchivo = docproArchivo;
	}

	public String getDocproFormato() {
		return docproFormato;
	}

	public void setDocproFormato(String docproFormato) {
		this.docproFormato = docproFormato;
	}

	public String getProCodigo_Proyecto() {
		return proCodigo_Proyecto;
	}

	public void setProCodigo_Proyecto(String proCodigo_Proyecto) {
		this.proCodigo_Proyecto = proCodigo_Proyecto;
	}

	public String getTipdocCodigo_TipoDocumento() {
		return tipdocCodigo_TipoDocumento;
	}

	public void setTipdocCodigo_TipoDocumento(String tipdocCodigo_TipoDocumento) {
		this.tipdocCodigo_TipoDocumento = tipdocCodigo_TipoDocumento;
	}

	public String getDocproCodigo() {
		return docproCodigo;
	}

	public void setDocproCodigo(String docproCodigo) {
		this.docproCodigo = docproCodigo;
	}

	public boolean isRowSelected() {
		return rowSelected;
	}

	public void setRowSelected(boolean rowSelected) {
		this.rowSelected = rowSelected;
	}
}
